package lp2.projeto;

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;

/**
 * classe que implementa a leitura e escrita de arquivos de texto
 * 
 */

public class Arquivo {

	private List<String[]> linhas;
	private String nomeArquivo;

	/**
	 * construtor: abre o arquivo le suas informa��es e depois o fecha
	 * 
	 * @param nomeArquivo
	 *            nome do arquivo a ser usado
	 */

	public Arquivo(String nomeArquivo) {
		linhas = new ArrayList<String[]>();
		this.nomeArquivo = nomeArquivo;

		atualizaLinhas();
	}

	public List<String[]> getArquivo() {
		return linhas;
	}

	public void setArquivo(List<String> linha) {
		// falta implementacao
		String informacao = "";
		for (int i = 0; i < linha.size(); i++) {
			informacao += linha.get(i);
			if (i < (linha.size() - 1)) {
				informacao += ";";
			}

		}
		informacao += "\n";
		
		BufferedWriter saida = null;
		try {
			 saida = new BufferedWriter(new FileWriter(nomeArquivo,true));
			 saida.write(informacao);
			 saida.close();
		} catch (IOException e) {
			System.err.println("arquivo nao encontrado");
		}
		
		atualizaLinhas();
	}

	private void atualizaLinhas() {
		try {
			File arquivo = new File(nomeArquivo);
			Scanner sc = new Scanner(arquivo);
			while (sc.hasNextLine()) {
				linhas.add(sc.nextLine().split(";"));
			}
			sc.close();
		} catch (Exception e) {
			System.err.println("arquivo nao incontrado");
		}

	}

	public String toString() {
		return linhas.toString();

	}

}
